SuperPlayer
SuperPlayer​类扩展了SuperEntity​类,添加了更多针对玩家特有的属性和方法,如玩家的等级、经验、游戏模式等,以及玩家特有的事件处理函数。通过这个类,可以方便地管理和扩展玩家的行为和属性。
成员变量
成员变量 描述
source_instance: mc.Player 保存原生玩家实例的引用。
last_selectedSlotIndex: number = 0 保存玩家上一次选择的槽位索引。
成员函数
构造函数和初始化
成员函数 描述
constructor(source_instance: mc.Player, world: SuperWorld) 构造函数,初始化玩家实例和世界引用。
属性和状态访问
成员函数 描述
get camera(): mc.Camera 获取玩家的相机。
get inputPermissions(): mc.PlayerInputPermissions 获取玩家的输入权限。
get isEmoting(): boolean 判断玩家是否正在做出表情。
get isFlying(): boolean 判断玩家是否正在飞行。
get isGliding(): boolean 判断玩家是否正在滑翔。
get isJumping(): boolean 判断玩家是否正在跳跃。
get level(): number 获取玩家的等级。
get name(): string 获取玩家的名称。
get onScreenDisplay(): mc.ScreenDisplay 获取玩家的屏幕显示设置。
get totalXpNeededForNextLevel(): number 获取玩家升级到下一级所需的总经验值。
get xpEarnedAtCurrentLevel(): number 获取玩家在当前等级已获得的经验值。
get selectedSlotIndex(): number 获取玩家当前选择的槽位索引。
物品和装备操作
成员函数 描述
getInventory(): mc.EntityInventoryComponent 获取玩家的背包。
getInventoryContainer(): mc.Container 获取玩家背包的容器。
getEquipment(): mc.EntityEquippableComponent 获取玩家的装备。
getHandItem():mc.ItemStack|undefined 获取玩家手上的物品。
setSelectedSlotItem(slot: number, item: SuperItemStack) 设置指定槽位的物品。
setHandItem(item: SuperItemStack) 设置玩家手中的物品。
giveItem(item: SuperItemStack) 给玩家一个物品。
自定义组件管理
成员函数 描述
readCustomComponent() 从存储中读取并加载自定义组件。
addCustomComponent(identifier: string, options?: SuperComponentCreateOptions): boolean 添加一个新的自定义组件。
事件处理
成员函数 描述
onItemStopUseOnAfterEvent(event: mc.ItemStopUseOnAfterEvent) 玩家停止使用物品后的事件处理。
onItemStartUseAfterEvent(event: mc.ItemStartUseAfterEvent) 玩家开始使用物品后的事件处理。
onItemReleaseAfterEvent(event: mc.ItemReleaseUseAfterEvent) 玩家释放使用物品后的事件处理。
onItemCompleteAfterEvent(event: mc.ItemCompleteUseEvent) 玩家完成使用物品后的事件处理。
onItemUseOnAfterEvent(event: mc.ItemUseOnAfterEvent) 玩家在方块上使用物品后的事件处理。
onItemUseAfterEvent(event: mc.ItemUseAfterEvent) 玩家使用物品后的事件处理。
onPlayerSpawnAfterEvent(event: mc.PlayerSpawnAfterEvent) 玩家生成后的事件处理。
onPlaceBlockAfterEvent(event: mc.PlayerPlaceBlockAfterEvent) 玩家放置方块后的事件处理。
onLeaveAfterEvent(event: mc.PlayerLeaveAfterEvent) 玩家离开后的事件处理。
onJoinAfterEvent(event: mc.PlayerJoinAfterEvent) 玩家加入后的事件处理。
onInteractWithEntityAfterEvent(event: mc.PlayerInteractWithEntityAfterEvent) 玩家与实体互动后的事件处理。
onInteractWithBlockAfterEvent(event: mc.PlayerInteractWithBlockAfterEvent) 玩家与方块互动后的事件处理。
onInputPermissionCategoryChangeAfterEvent(event: mc.PlayerInputPermissionCategoryChangeAfterEvent) 玩家输入权限类别改变后的事件处理。
onGameModeChangeAfterEvent(event: mc.PlayerGameModeChangeAfterEvent) 玩家游戏模式改变后的事件处理。
onEmoteAfterEvent(event: mc.PlayerEmoteAfterEvent) 玩家表情动作后的事件处理。
onDimensionChangeAfterEvent(event: mc.PlayerDimensionChangeAfterEvent) 玩家维度改变后的事件处理。
onBreakBlockAfterEvent(event: mc.PlayerBreakBlockAfterEvent) 玩家破坏方块后的事件处理。
onLeaveBeforeEvent(event: mc.PlayerLeaveBeforeEvent) 玩家离开前的事件处理。
onInteractWithEntityBeforeEvent(event: mc.PlayerInteractWithEntityBeforeEvent) 玩家与实体互动前的事件处理。
onInteractWithBlockBeforeEvent(event: mc.PlayerInteractWithBlockBeforeEvent) 玩家与方块互动前的事件处理。
onGameModeChangeBeforeEvent(event: mc.PlayerGameModeChangeBeforeEvent) 玩家游戏模式改变前的事件处理。
onItemUseOnBeforeEvent(event: mc.ItemUseOnBeforeEvent) 玩家在方块上使用物品前的事件处理。
onItemUseBeforeEvent(event: mc.ItemUseBeforeEvent) 玩家使用物品前的事件处理。
onChatSendBeforeEvent(event: mc.ChatSendBeforeEvent) 玩家发送聊天信息前的事件处理。
onPlaceBeforeEvent(event: mc.PlayerPlaceBlockBeforeEvent) 玩家放置方块前的事件处理。
onBreakBlockBeforeEvent(event: mc.PlayerBreakBlockBeforeEvent) 玩家破坏方块前的事件处理。
玩家操作
成员函数 描述
addExperience(amount: number): number 给玩家增加经验值。
addLevels(amount: number): number 给玩家增加等级。
eatItem(itemStack: mc.ItemStack): void 玩家吃下物品。
getGameMode(): mc.GameMode 获取玩家的游戏模式。
getItemCooldown(cooldownCategory: string): number 获取玩家物品的冷却时间。
getSpawnPoint(): mc.DimensionLocation | undefined 获取玩家出生点。
getTotalXp(): number 获取玩家的总经验值。
isOp(): boolean 判断玩家是否具有操作员权限。
playMusic(trackId: string, musicOptions?: mc.MusicOptions): void 为玩家播放音乐。
playSound(soundId: string, soundOptions?: mc.PlayerSoundOptions): void 为玩家播放声音。
postClientMessage(id: string, value: string): void 向玩家发送客户端消息。
queueMusic(trackId: string, musicOptions?: mc.MusicOptions): void 为玩家排队播放音乐。
resetLevel(): void 重置玩家的等级。
sendMessage(message: (mc.RawMessage | string)[] | mc.RawMessage | string): void 向玩家发送聊天信息。
setGameMode(gameMode?: mc.GameMode): void 设置玩家的游戏模式。
setOp(isOp: boolean): void 设置玩家是否具有操作员权限。
setSpawnPoint(spawnPoint?: mc.DimensionLocation): void 设置玩家的出生点。
spawnParticle(effectName: string, location: mc.Vector3, molangVariables?: mc.MolangVariableMap): void 在指定位置为玩家生成粒子效果。
startItemCooldown(cooldownCategory: string, tickDuration: number): void 设置玩家物品的冷却时间。
stopMusic(): void 停止为玩家播放音乐。